home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 April: Mac OS SDK / Dev.CD Apr 96 SDK / Dev.CD Apr 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc Development Framework / ODFDev / ODF / Framewrk / FWPart / Include / FWExtMgr.h < prev    next >
Encoding:
Text File  |  1995-11-08  |  2.0 KB  |  62 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                FWExtMgr.h
  4. //    Release Version:    $ 1.0d11 $
  5. //
  6. //    Copyright:    © 1995 by Apple Computer, Inc., all rights reserved.
  7. //
  8. //========================================================================================
  9.  
  10. #ifndef FWEXTMGR_H
  11. #define FWEXTMGR_H
  12.  
  13. #ifndef FWDICTLI_H
  14. #include "FWDictLi.h"
  15. #endif
  16.  
  17. //========================================================================================
  18. //    Forward Declarations
  19. //========================================================================================
  20.  
  21. class ODExtension;
  22. class FW_CLASS_ATTR FW_CPart;
  23. struct FW_CLASS_ATTR FW_SPrivExtension;
  24.  
  25. //========================================================================================
  26. //    class FW_CPrivExtensionMap
  27. //========================================================================================
  28.  
  29. class FW_CLASS_ATTR FW_CPrivExtensionMap : public FW_CPrivDictionaryList
  30. {
  31. public:
  32.     FW_CPrivExtensionMap();
  33.     virtual ~FW_CPrivExtensionMap();
  34. protected:
  35.     virtual FW_Boolean    KeysMatch(FW_PrivKeyType key1,FW_PrivKeyType key2) const;
  36. };
  37.  
  38. //========================================================================================
  39. //    class FW_CExtensionManager
  40. //========================================================================================
  41.  
  42. class FW_CLASS_ATTR FW_CExtensionManager
  43. {
  44. public:
  45.     typedef ODExtension* (*CreateExtensionFunc)(Environment *ev, FW_CPart *part, const char * const name);
  46.  
  47.     ~FW_CExtensionManager();
  48.     FW_CExtensionManager(FW_CPart *part);
  49.     
  50.     void RegisterExtension(Environment *ev, const char * const name, CreateExtensionFunc func);
  51.     FW_Boolean HasExtension(Environment *ev, const char* const name);
  52.     ODExtension* AcquireExtension(Environment *ev, const char* const name);
  53.     void ReleaseExtension(Environment *ev, ODExtension *extension);
  54.  
  55. private:
  56.     FW_CPart                *fPart;
  57.     FW_CPrivExtensionMap    fNameToCreateFuncMap;
  58.     FW_CPrivExtensionMap    fActiveExtensions;
  59. };
  60.  
  61. #endif
  62.